import pandas as pd, numpy as np, scipy
import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams.update({'figure.max_open_warning': 0})
df = pd.read_csv("../data/Repayments.csv", delimiter=';')
static = pd.read_csv("../data/Static.csv", delimiter=';')
df.head()
df[df['CONTRACT_ID'] == 17464703].sum()
pivot_scheduled = df.pivot_table(index=['CONTRACT_ID'], columns=['PERIOD_ID'], values=['REPAYMENT_SCHEDULED']).replace(0, np.nan)
pivot_actual = df.pivot_table(index=['CONTRACT_ID'], columns=['PERIOD_ID'], values=['REPAYMENT_ACTUAL']).replace(0, np.nan)
print(pivot_scheduled.shape)
print(pivot_actual.shape)
pivot_scheduled.head()
pivot_actual.head()
def print_contract(contract_id):
pivot_scheduled
plt.figure()
pivot_scheduled.loc[contract_id].T.plot(figsize=(12, 12), linewidth = 5)
pivot_actual.loc[contract_id].T.plot(figsize=(12, 12), linewidth = 5)
plt.ylim(ymin=0)
title = ", ".join(["{} - {}\n".format(k, list(v.values())[0]) for k, v in static[static['CONTRACT_ID'] == pivot_actual.loc[contract_id].name].to_dict().items()])
plt.title(title)
print_contract(17283247)
for i in np.random.choice(pivot_actual.shape[0], 100, replace=False):
print_contract(pivot_scheduled.index[i])